//Listener que se encarga de inicializar el Log4j
package com.mmaingenieria.MMAGestor.listeners;

import java.util.Properties;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

import com.mmaingenieria.MMAGestor.model.ModeloCliente;
import com.mmaingenieria.MMAGestor.model.ModeloUsuario;

public class Listener implements ServletContextListener {
	//Atributos
	private static Properties propConfig;
	//Instancio las clases modelo para no tener que instanciarlas en todos los servlets las llamo desde los servlet con Listener.modelo....
	public static ModeloUsuario modeloUsuario= new ModeloUsuario();
	public static ModeloCliente modeloCliente = new ModeloCliente();
	
    public Listener() {
    }
    
	public void contextInitialized(ServletContextEvent sce) {
    	try{
    		
    		//configuracion del archivo de propiedades config.properties
    		propConfig= new Properties();
    		String con=sce.getServletContext().getInitParameter("config");//para el archivo de propiedades. coge el initparameter del web.xml
        	propConfig.load(sce.getServletContext().getResourceAsStream(con));//para el archivo de propiedades
        	//configuracion del archivo de propiedades del log4j
        	PropertyConfigurator.configure(getConfigProperties().getProperty("ruta_log4j_properties"));
    		Logger.getLogger(this.getClass()).trace("Iniciamos contexto Listener");
    	}catch(Exception e){
    		Logger.getLogger(this.getClass()).error("Excepcion generada al arrancar el Listener");
    	}
    }
    
    public static Properties getConfigProperties(){//para el archivo de propiedades
    	return propConfig;
    }
    
    public void contextDestroyed(ServletContextEvent arg0) {
    	Logger.getLogger(this.getClass() ).trace("Destruimos contexto Listener");
    }	
}
